import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

public class Test {
    public static void main(String[] args) {
//        GraphicEditor gp = new GraphicEditor();
//        gp.drawShape(new Circle());
//        gp.drawShape(new Rectangle());
        ArrayList<String> list = new ArrayList<>();
        Iterator<String> iterator = list.iterator();
    }
}

class GraphicEditor {
    public void drawShape(Shape s) {
        if (s.mType == 1) {
            drawRectangle(s);
        } else if (s.mType == 2) {
            drawCircle(s);
        }
    }

    public void drawRectangle(Shape r) {
        System.out.println(" 矩形 ");
    }

    public void drawCircle(Shape r) {
        System.out.println(" 圆形 ");
    }
}

class Shape  {
    int mType;

    @Override
    protected Object clone() throws CloneNotSupportedException {
        return super.clone();
    }
}

class Rectangle extends Shape {
    Rectangle() {
        super.mType = 1;
    }
}

class Circle extends Shape {
    Circle() {
        super.mType = 2;
    }
}